package cn.csg.ams.collect2.poptopics.service;

import cn.csg.ams.collect2.poptopics.entity.RecordInfo;
import com.aliyun.datahub.client.model.TupleRecordData;

import java.util.List;

/**
 * @author: zhanggang
 * @ClassName: MkPrPfOutageEventDetailService
 * @date: 2023-11-17 09:06:54
 * @Description: 停电事件明细（flink计算出来的数据基表）(mk_pr_pf_outage_event_detail)表服务接口
 */
public interface MkPrPfOutageEventDetailService {

    /**
     * 插入停电事件
     *
     * @param data 告警消息
     * @param recordInfo 档案信息
     * @param eventId 停电事件id
     * @param startTimes 研判开始时间
     * @param judgeRule 研判规则
     * @return 影响行数
     */
    void saveOutageEvent(TupleRecordData data, RecordInfo recordInfo, String eventId, Long startTimes, String judgeRule);


    /**
     * 更新停电事件为复电
     *
     * @param recordInfo 档案信息
     * @param outageEndTime 停电结束时间(yyyyMMddHHmmss)
     * @param taNo 台区编号
     * @Param restoreSource 复电来源（1-告警流研判，2-告警批研判，3-计划工单，4-故障工单，5-电压采集）
     * @param startTime 复电数据接收时间
     */
    void updateOutageEvent(RecordInfo recordInfo, String outageEndTime, String taNo, List<String> runMeterIds, String restoreSource, Long startTime);


}
